草庐IT

SQL INSERT INTO SELECT 语句

全部标签

mysql - 为什么这个带有 NOT IN 语句的 MySQL 查询这么慢?

我有一个包含大量记录的数据库,我想找到没有存储用户项的用户:select`name`from`users`where`ID`notin(selectdistinct`userID`from`userItem`)这个查询在被MySQL服务器中断之前甚至不会完成执行。这里是否存在我不知道的巨大低效率?userItem中有200,000条记录,users中有14,000条记录。查询解释的结果:1PRIMARYusersALLNULLNULLNULLNULL13369Usingwhere2DEPENDENTSUBQUERYuserItemindexNULLuserID8NULL189861Us

MYSQL 计数在 select 语句中

我在数据库中有这样的数据idclassgender1AF2BF3AM4AF5AM6BM7AF根据这些数据,我想使用select语句来生成这样的报告_________________________GenderclassMFTotal_________________________A235B112_________________________TOTAL347如何制作该选择语句? 最佳答案 看看下面的例子SQLFiddleDEMOSELECTclass,SUM(CASEWHENgender='M'THEN1ELSE0END)`M`

mysql - mysql 表中的数据非常大。即使是 select 语句也需要很多时间

我正在处理一个数据库,它是一个相当大的数据库,有13亿行和大约35列。这是我在检查表的状态后得到的:Name:TableNameEngine:InnoDBVersion:10Row_format:CompactRows:12853961Avg_row_length:572Data_length:7353663488Max_data_length:0Index_length:5877268480Data_free:0Auto_increment:12933138Create_time:41271.0312615741Update_time:NULLCheck_time:NULLColla

php - 基于用户选项的 PHP 动态 SQL SELECT 语句

首先,我想说的是,我一直在疯狂地尝试和搜索以找到解决这个问题的方法,但到目前为止还没有成功。我的问题如下:我有一个包含几十行的MySQL数据库,我创建了一个jQuery网格来显示数据;此页面已在运行。根据要求,我正在整理一个页面,人们可以在其中从复选框中选择几个选项并过滤结果。这就是它的工作方式:第1页将有3组复选框(姓名、位置、语言),每组都有不同的选项([姓名:大卫、尼克等]、[位置:纽约、华盛顿、孟买、伦敦、迈阿密],[语言:英语、西类牙语]。一旦用户选择了他的选项,它将提交一个类似这样的表单grid.php?location=Washington&location=Mumbai

php - 如何更改 !isset 语句

我有一个包含以下代码的php页面。MySQL查询工作正常,但我尝试添加一个不工作的IF语句。if(!isset($result))语句应该捕获表仅包含FUTURE日期时间值的情况。我显然没有正确使用它,或者我应该使用其他东西——比如if(empty())?";}}//closetheconnectionmysql_close($dbhandle);?> 最佳答案 您正在寻找:if(mysql_num_rows($result)==0){echo"9999";}else{文档:http://www.php.net/manual/en/

mysql - RENAME 语句实际上是如何工作的?

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭9年前。Improvethisquestion要重命名SQL中的任何表,我们使用以下命令:RENAMEOldTableNameTONewTableName这在内部是如何工作的?我的假设是它可能首先使用ASSELECT创建一个带有NewTableName的表,然后使用DROP删除旧表,就像我们在处理文件时重命名文件时所做的那样在C中。我是对的,还是它的工作方式不同?

具有多个where/条件的mysql select语句

我在mysql中有以下两个表:用户:+--------+-----------+|userId|userName|+--------+-----------+|1|magnus||2|fabiano||3|alexander||4|veselin|+--------+-----------+游戏:+--------+---------+---------+|gameId|userId1|userId2|+--------+---------+---------+|1|1|2||2|1|3||3|2|3||4|2|4|+--------+---------+---------+我怎样才能

MySQL:连接语句:为什么这不起作用?

好吧,我正在做一项作业,我们正在使用JOIN...ON语句,我不确定自己做错了什么,但是当我将SQL代码运行到数据库中时,什么也没有出现.编辑:没有收到任何错误。代码运行没有缺陷。有人知道我做错了什么吗?对于这种情况,INNERJOIN是正确的连接类型吗?(Join语句可以在代码末尾找到...)SELECTorders.order_IDas'OrderID',orders.order_dateas'OrderDate',CONCAT(customers.customer_first_name,'',customers.customer_last_name)as'Customer',cu

mysql - 如何用某些东西替换占位符以使该 SQL 语句的第一个条件始终为 TRUE?

如何用某些东西替换占位符,使此SQL语句的第一个条件始终为TRUE?SELECTfieldsFROMtableWHEREfield1{placeholder}andfield2>0;{placeholder}=?感谢您的帮助! 最佳答案 您可以添加与自身的比较:SELECTfieldsFROMtableWHEREfield1field1andfield2>0;dbfiddledemo编辑:IfIdontknowthefieldnameoffield1,arethereanywaystoaccomplish?1)删除整个条件SELEC

sql - 在 SELECT 语句中重置 SQL 变量

我正在尝试使用计数器变量@row通过单个UPDATE/SELECT语句对桥接表上的一些行进行编号。例如:UPDATEteamrankJOIN(SELECT@row:=@row+1ASposition,nameFROMmembers)USING(teamID,memberID)SETrank=position这样的事情是可能的还是我需要创建一个游标?如果有帮助,我正在使用MySQL5。 最佳答案 --始终初始化用户变量,否则它们默认为NULL。SET@prevID:=@runSum:=0;UPDATEteamrankt--onerow